/**
 * Project Name:gc_sms_hss
 * File Name:IEmployeeStatusStatusService.java
 * Package Name:com.clps.dev.sms.service.sm
 * Copyright (c) 2018, erwin.wang@clpsglobal.com All Rights Reserved.
 *
 */
package com.clps.dev.sms.service.sm;

import com.clps.dev.sms.common.result.ResponseResult;
import com.clps.dev.sms.entity.sm.EmployeeStatus;

/**
 * ClassName: IEmployeeStatusService <br/>
 * Description: 新增员工状态 
 * 				编辑员工状态 
 * 				查询员工状态 
 * 				删除员工状态 
 * 				校验员工状态的名称的唯一性
 *
 * @author erwin.wang
 * @version V1.0
 * @since JDK 1.8
 * @date 2018-12-05 11:49:40
 */
public interface IEmployeeStatusService {

	/**
	 * @Description:编辑员工状态
	 * @param es
	 *            员工状态实体对象
	 * @return:String 返回功能完成情况
	 */
	ResponseResult<EmployeeStatus> addEmployeeStatus(EmployeeStatus es);

	/**
	 * @Description:根据员工状态编号esId，修改一个职员信息
	 * @param es
	 *            员工状态实体对象
	 * @return:String 返回功能完成情况
	 */
	ResponseResult<EmployeeStatus> editEmployeeStatus(EmployeeStatus es);

	/**
	 * @Description:根据员工状态编号esId查询一个职员信息
	 * @param Integer
	 *            esId 员工状态编号
	 * @return:EmployeeStatus 返回功员工状态信息
	 */
	ResponseResult<EmployeeStatus> queryEmployeeStatus(Integer esId);

	/**
	 * @Description:删除一个职员状态信息,改变职员状态
	 * @param Integer
	 *            esId 员工状态编号
	 * @return:String 返回功能完成情况
	 */
	ResponseResult<EmployeeStatus> deleteEmployeeStatus(Integer esId);

	/**
	 * @Description:查询全部员工状态信息
	 * @return:List<EmployeeStatus> 返回全部员工状态信息集合
	 */
	ResponseResult<EmployeeStatus> queryAllEmployeeStatus();

	/**
	 * 
	 * @Description:校验员工状态名称是否唯一性
	 * 
	 * @param esName
	 *            员工状态名称
	 * @return String 员工状态名称的校验结果返回
	 */
	ResponseResult<EmployeeStatus> isValidByEmployeeStatusName(String esName);
}
